package com.guit.hrms.po.resume;

import com.guit.hrms.verify.resume.AddMsg;
import com.guit.hrms.verify.resume.AtLeastOneNotEmpty;
import com.guit.hrms.verify.resume.UpdateMsg;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
//@AtLeastOneNotEmpty(fields = {"basicInfo", "selfEvaluation"}, group = UpdateMsg.class, message = "要进行修改的字段不能为空")
//@AtLeastOneNotEmpty(fields = {"educations"/*, "workExperiences", "researchAchievements", "teachingExperiences",
//        "awards", "skills", "socialServices"*/}, group = AddMsg.class, message = "要进行增加的字段不能为空")
public class EmployeeResume {
    @NotNull(message = "employeeId不能为空")
    private String employeeId;

////    @NotNull(groups = UpdateMsg.class)
////    @Valid
//    private BasicInfo basicInfo;                      // 基本信息
////    @NotEmpty(groups = AddMsg.class)
////    @Valid
//    private List<Education> educations;                      // 教育背景
//    @NotEmpty(groups = AddMsg.class)
    @Valid
    private List<WorkExperience> workExperiences;     // 工作经历

//    private Integer row;
////    @NotEmpty(groups = AddMsg.class)
////    @Valid
//    private List<ResearchAchievement> researchAchievements; // 科研成果
////    @NotEmpty(groups = AddMsg.class)
////    @Valid
//    private List<TeachingExperience> teachingExperiences;   // 教学经历
////    @NotEmpty(groups = AddMsg.class)
////    @Valid
//    private List<Award> awards;                       // 获奖情况
////    @NotEmpty(groups = AddMsg.class)
////    @Valid
//    private List<Skill> skills;                       // 专业技能
////    @NotEmpty(groups = AddMsg.class)
////    @Valid
//    private List<SocialService> socialServices;       // 社会服务
//
////    @NotEmpty(groups = UpdateMsg.class)
//    private String selfEvaluation;                    //自我评价

//    public void setBasicInfo(String username, String gender, String birthDate, String phoneNumber, String email) {
//        this.basicInfo = new BasicInfo(username, gender, birthDate, phoneNumber, email);
//    }
}
